﻿namespace CodeWF.Tools.Core.Helpers;

public class IconHelper
{
    public const string Home =
        "M555.541333 117.994667l312.874667 224.565333A117.333333 117.333333 0 0 1 917.333333 437.866667V800c0 64.8-52.533333 117.333333-117.333333 117.333333H640V746.666667c0-70.688-57.312-128-128-128s-128 57.312-128 128v170.666666H224c-64.8 0-117.333333-52.533333-117.333333-117.333333V437.877333a117.333333 117.333333 0 0 1 48.917333-95.317333l312.874667-224.565333a74.666667 74.666667 0 0 1 87.082666 0z";

    public const string Developer =
        "M318.577778 819.2L17.066667 512l301.511111-307.2 45.511111 45.511111L96.711111 512l267.377778 261.688889zM705.422222 819.2l-45.511111-45.511111L927.288889 512l-267.377778-261.688889 45.511111-45.511111L1006.933333 512zM540.785778 221.866667l55.751111 11.150222L483.157333 802.133333l-55.751111-11.093333z";

    public const string Timestamp =
        "M533.333333 96c229.76 0 416 186.24 416 416S763.093333 928 533.333333 928 117.333333 741.76 117.333333 512 303.573333 96 533.333333 96z m0 64C338.922667 160 181.333333 317.589333 181.333333 512S338.922667 864 533.333333 864 885.333333 706.410667 885.333333 512 727.744 160 533.333333 160z m32 116.608v220.992l163.2 144.554667-42.410666 47.893333-184.789334-163.626667v-249.813333h64z";

    public const string Web =
        "M126 434.9c56.3-193 179.5-330.7 404.9-350.2 15.5-1.4 37.2-0.2 55-3.5 15.3-3 33.9-14.1 51.5-21.3C708.8 30.5 866.5-21 946.2 42.2c69.1 55 56.4 188.7 13.7 276 41.5 84.4 57 179.2 44.6 272.5-200.2 8.2-433.5 1.1-628 3.6C383 698 448 777.5 544.6 788.7c94.4 11 159.6-42.4 202.5-102.6h240.1c-62.4 179.6-221 318.8-466.6 300.8-55.8-4.2-99.4-20.5-147.6-39-80.5 44.1-258.5 109.6-329.4 17.7-53.8-69.8-19.2-196.7 10.3-279.4C113.7 518.5 227.4 352.4 338.7 258c0.6-2.9 3.4-3.6 3.4-7.1-87.9 45-147.2 119.4-216.1 184zM970.1 173c-3.3-120.5-158.3-108.6-240.2-60.1 91.4 36.6 158.2 98.7 212.7 173.3 11.9-37.8 28.7-69.2 27.5-113.2zM376.4 466.7h380.9c-11-246.1-368.9-226.2-380.9 0zM95.1 898.4c19.1 109 171.4 77.2 240.2 28.3-90.3-50.8-146.7-136.6-192.2-233.6-21.1 52.5-60.7 133.4-48 205.3z";

    public const string SlugifyName =
        "M154.31168 715.41248c-65.529856-110.850048-38.70208-276.215808 30.267392-378.749952 9.975808-14.973952 30.246912-18.911232 44.819456-9.136128 7.156736 4.977664 11.73504 12.054528 13.513728 19.750912l0.520192 0c1.139712 6.037504 2.479104 11.435008 4.158464 16.632832 6.956032-24.128512 16.632832-46.578688 29.106176-68.4288 36.924416-65.091584 96.91648-119.387136 160.987136-144.136192 16.852992-6.436864 35.98336 2.499584 42.001408 19.151872 3.039232 8.096768 2.518016 17.052672-0.39936 24.109056-6.757376 15.193088-11.9552 28.926976-16.633856 43.480064 47.7184-43.480064 108.151808-81.123328 170.023936-104.613888C760.998912 85.215232 907.533312 99.76832 962.428928 245.362688c6.457344 16.852992-2.280448 35.764224-19.131392 42.020864l-3.018752 1.03936c-109.07136 29.1072-149.532672 99.815424-187.79648 167.005184-53.77536 93.7984-103.913472 181.358592-282.033152 178.460672 12.054528 5.397504 27.747328 11.435008 48.037888 17.870848 17.051648 5.197824 26.528768 23.310336 21.629952 40.361984-2.69824 9.136128-9.15456 15.593472-16.53248 19.131392-81.743872 46.798848-225.65888 79.444992-318.216192 42.841088-12.694528 18.711552-32.545792 59.273216-19.151872 121.884672l0.44032 0.420864 89.519104 0c10.615808 0 19.350528 8.935424 19.350528 19.550208 0 10.596352-8.735744 19.132416-19.350528 19.132416l-96.715776 0-18.591744 0-2.399232 0c-16.55296 2.07872-31.82592-8.955904-35.78368-25.588736C104.894464 804.851712 133.4016 745.977856 154.31168 715.41248L154.31168 715.41248zM392.444928 915.08224 392.444928 915.08224c-10.594304 0-19.550208-8.536064-19.550208-19.132416 0-10.614784 8.955904-19.550208 19.550208-19.550208l338.287616 0c11.136 0 19.871744 8.935424 19.871744 19.550208 0 10.596352-8.735744 19.132416-19.871744 19.132416L392.444928 915.08224 392.444928 915.08224zM209.327104 681.086976 209.327104 681.086976c41.901056 45.759488 166.065152 16.013312 216.822784 0.41984-27.667456-17.472512-42.860544-35.14368-50.757632-50.957312-11.534336-23.090176-17.99168-72.367104 27.667456-66.35008 198.091776 25.389056 243.750912-54.695936 292.629504-140.796928 40.660992-71.128064 83.50208-145.594368 190.833664-185.736192C783.868928 68.363264 487.083008 259.096576 435.825664 375.344128c-4.59776 12.894208-16.55296 22.670336-31.106048 22.670336-17.792 0-32.545792-14.972928-32.545792-33.065984 0 0 2.2784-47.198208 17.272832-108.150784-21.850112 20.390912-41.302016 44.300288-56.495104 70.72768-27.027456 47.418368-39.182336 100.854784-25.867264 149.532672l0 0c3.71712 13.734912-1.160192 27.86816-13.314048 35.765248-14.772224 9.775104-34.643968 6.03648-44.819456-9.137152-14.572544-21.849088-30.485504-43.060224-42.860544-66.76992C178.540544 511.383552 168.225792 609.958912 209.327104 681.086976L209.327104 681.086976z";

    public const string IPQuery =
        "M9.7985 2.02618C9.38518 1.999 9.02808 2.31203 9.0009 2.72535C8.97372 3.13867 9.28674 3.49577 9.70006 3.52295C14.9417 3.86766 19.1339 8.06068 19.4772 13.3027C19.5042 13.7161 19.8612 14.0292 20.2746 14.0021C20.6879 13.975 21.001 13.618 20.974 13.2047C20.5815 7.21159 15.7912 2.42028 9.7985 2.02618Z M8.49679 15.6223C9.11823 15.6223 9.62201 15.1185 9.62201 14.497C9.62201 13.8756 9.11823 13.3718 8.49679 13.3718C7.87535 13.3718 7.37157 13.8756 7.37157 14.497C7.37157 15.1185 7.87535 15.6223 8.49679 15.6223Z M7.97617 21.7723L7.58761 21.3864C7.34843 21.1489 7.01946 20.8222 6.66027 20.4652C5.94219 19.7515 5.10235 18.9161 4.61812 18.4319C2.47169 16.2854 2.47169 12.8054 4.61812 10.659C6.76454 8.51254 10.2446 8.51254 12.391 10.659C14.5374 12.8054 14.5374 16.2854 12.391 18.4319C11.9466 18.8763 11.1067 19.7118 10.3787 20.4353L9.03344 21.7718C8.74101 22.0621 8.26864 22.0626 7.97617 21.7723ZM5.67878 11.7196C4.11814 13.2803 4.11814 15.8106 5.67878 17.3712C6.16111 17.8535 6.99932 18.6873 7.71766 19.4013L8.5045 20.183L9.32129 19.3714C10.0496 18.6475 10.8878 17.8137 11.3303 17.3712C12.891 15.8106 12.891 13.2803 11.3303 11.7196C9.76971 10.159 7.23942 10.159 5.67878 11.7196Z M9.81841 5.50272C9.40587 5.46549 9.04127 5.76975 9.00404 6.18228C8.96682 6.59482 9.27107 6.95942 9.68361 6.99665C13.0318 7.29875 15.6997 9.96585 16.003 13.3137C16.0404 13.7262 16.4051 14.0303 16.8176 13.9929C17.2301 13.9556 17.5343 13.5908 17.4969 13.1783C17.1282 9.10882 13.8883 5.86994 9.81841 5.50272Z";

    public const string Image =
        "M30.9968 12C33.7582 12 35.9968 14.2386 35.9968 17C35.9968 19.7614 33.7582 22 30.9968 22C28.2354 22 25.9968 19.7614 25.9968 17C25.9968 14.2386 28.2354 12 30.9968 12ZM28.4968 17C28.4968 18.3807 29.6161 19.5 30.9968 19.5C32.3775 19.5 33.4968 18.3807 33.4968 17C33.4968 15.6193 32.3775 14.5 30.9968 14.5C29.6161 14.5 28.4968 15.6193 28.4968 17Z M6 10.75C6 8.12665 8.12665 6 10.75 6H37.25C39.8734 6 42 8.12665 42 10.75V37.25C42 38.4377 41.5641 39.5236 40.8435 40.3565C40.7898 40.4531 40.7223 40.5441 40.641 40.6268C40.5548 40.7144 40.4589 40.7866 40.3566 40.8434C39.5238 41.564 38.4378 42 37.25 42H10.75C9.55998 42 8.47218 41.5624 7.63873 40.8393C7.53919 40.7832 7.44575 40.7123 7.36158 40.6268C7.28258 40.5466 7.21664 40.4583 7.16373 40.3648C6.43884 39.5309 6 38.4417 6 37.25V10.75ZM39.5 37.25V10.75C39.5 9.50736 38.4926 8.5 37.25 8.5H10.75C9.50736 8.5 8.5 9.50736 8.5 10.75V37.25C8.5 37.4065 8.51598 37.5592 8.54639 37.7067L21.3697 25.0851C22.8291 23.6486 25.171 23.6485 26.6306 25.0849L39.454 37.7048C39.4842 37.5579 39.5 37.4058 39.5 37.25ZM10.75 39.5H37.25C37.3948 39.5 37.5364 39.4863 37.6736 39.4602L24.877 26.8668C24.3905 26.388 23.6099 26.388 23.1234 26.8668L10.3284 39.4606C10.465 39.4865 10.6059 39.5 10.75 39.5Z";

    public const string IconConverter =
        "M13 3.5C11.067 3.5 9.5 5.067 9.5 7C9.5 7.86428 9.8123 8.65369 10.3311 9.26444C10.5204 9.48721 10.5629 9.79962 10.4402 10.0649C10.3175 10.3302 10.0518 10.5 9.75952 10.5H3.75C3.61193 10.5 3.5 10.6119 3.5 10.75V11.75C3.5 14.6495 5.8505 17 8.75 17H11.9682C12.1177 17.1091 12.2869 17.196 12.4723 17.2545C12.1892 17.6624 11.9467 18.0803 11.7448 18.5H8.75C5.02208 18.5 2 15.4779 2 11.75V10.75C2 9.7835 2.7835 9 3.75 9H8.41626C8.1486 8.38736 8 7.71071 8 7C8 4.23858 10.2386 2 13 2C15.0503 2 16.8124 3.2341 17.584 5H19.25C20.2165 5 21 5.7835 21 6.75C21 8.26878 19.7688 9.5 18.25 9.5H17.3309C17.1948 9.7353 17.0401 9.95846 16.8689 10.1674C17.0257 10.3041 17.1735 10.4509 17.3113 10.6069C17.1351 10.6259 16.9548 10.6475 16.7702 10.6719C16.3015 10.734 15.8604 10.8387 15.4476 10.978C15.4151 10.958 15.3821 10.9385 15.3488 10.9197C15.1345 10.7983 14.9935 10.5794 14.9714 10.3342C14.9494 10.0889 15.0492 9.84841 15.2384 9.69079C15.7624 9.2543 16.1562 8.66903 16.3552 8H18.25C18.9404 8 19.5 7.44036 19.5 6.75C19.5 6.61193 19.3881 6.5 19.25 6.5H16.4646C16.2219 4.80385 14.7632 3.5 13 3.5Z M16.9015 11.6634C19.7024 11.2925 21.4398 11.6025 22.4644 11.8905C22.7467 11.9699 22.9569 12.2065 23.0024 12.4962C23.0479 12.7859 22.9203 13.0756 22.6759 13.2376C22.6186 13.2757 22.5268 13.3675 22.4157 13.5778C22.3059 13.7855 22.2028 14.0589 22.0963 14.4028C22.0082 14.6872 21.9253 14.9939 21.835 15.3281L21.7777 15.5399C21.6664 15.9497 21.5435 16.3898 21.3957 16.826C21.1036 17.6883 20.6917 18.6078 19.999 19.3139C19.2798 20.0471 18.3037 20.5037 16.9999 20.5037C15.671 20.5037 14.7425 19.9653 14.1496 19.3454C13.746 20.0852 13.5356 20.7821 13.5042 21.2963C13.479 21.7097 13.1234 22.0244 12.71 21.9992C12.2965 21.974 11.9818 21.6184 12.007 21.205C12.0765 20.0655 12.6715 18.6313 13.669 17.3613C14.678 16.0767 16.1497 14.8938 18.05 14.3212C18.4466 14.2017 18.865 14.4263 18.9845 14.8229C19.104 15.2195 18.8794 15.6379 18.4828 15.7574C17.0355 16.1935 15.8731 17.0688 15.0307 18.0646C15.3417 18.5067 15.9532 19.0037 16.9999 19.0037C17.9113 19.0037 18.4983 18.7017 18.9282 18.2635C19.3846 17.7983 19.7078 17.1336 19.9751 16.3447C20.107 15.9552 20.2198 15.553 20.3301 15.1468L20.3845 14.9457C20.4749 14.6111 20.5664 14.2721 20.6635 13.9589C20.7537 13.6677 20.8553 13.376 20.9775 13.1062C20.0845 12.9754 18.8272 12.9215 17.0984 13.1504C15.0995 13.4151 13.9738 14.8731 13.7231 15.7848C13.6133 16.1842 13.2005 16.419 12.8011 16.3092C12.4017 16.1994 12.167 15.7866 12.2768 15.3872C12.6734 13.9447 14.255 12.0138 16.9015 11.6634Z";

    public const string Test =
        "M848 358.4l22.4-22.4 41.6-44.8c25.6-25.6 25.6-70.4 0-99.2l-105.6-105.6c-25.6-25.6-70.4-25.6-99.2 0l-64 64L83.2 716.8l6.4 195.2 195.2 6.4 563.2-560zM265.6 896s22.4-73.6-35.2-124.8c-54.4-48-121.6-32-121.6-32L668.8 176 736 243.2 329.6 649.6l22.4 22.4L758.4 265.6l67.2 67.2L265.6 896zM780.8 243.2l-89.6-89.6 41.6-41.6c12.8-16 38.4-16 51.2 0l105.6 105.6c16 16 16 38.4 0 51.2l-41.6 41.6-67.2-67.2zM368 899.2h572.8v28.8H368v-28.8z";

    public const string MessageTest =
        "M996.515019 454.715319c0 55.483662-12.576433 109.289102-37.371142 159.91206-23.822568 48.65821-57.878199 92.302219-101.204983 129.714294-43.11189 37.238113-93.253894 66.443271-149.044548 86.827531-57.601906 21.039175-118.754684 31.702026-181.759647 31.702026-11.307533 0-20.466124-9.15859-20.466124-20.466124 0-11.2973 9.15859-20.466124 20.466124-20.466124 58.205657 0 114.63076-9.82374 167.719886-29.215392 51.114145-18.675338 96.988961-45.373397 136.335085-79.357396 80.20674-69.27783 124.393101-161.129794 124.393101-258.650875 0-97.510848-44.186362-189.373045-124.393101-258.650875-39.346123-33.983999-85.22094-60.682058-136.335085-79.347163-53.089126-19.391652-109.514229-29.225625-167.719886-29.225625s-114.63076 9.833973-167.719886 29.225625c-51.124378 18.665105-96.988961 45.363164-136.335085 79.347163-80.216973 69.27783-124.393101 161.129794-124.393101 258.650875 0 59.024302 15.861246 115.39824 47.133483 167.535691 30.04427 50.101071 73.933873 94.338598 126.930901 127.923508 5.904477 3.755534 9.496282 10.263761 9.506515 17.263176 0 2.691295-0.470721 58.71731-42.395576 132.927475 33.850969-5.761214 66.586534-19.24839 97.715509-40.328497 32.694633-22.144346 51.216475-44.779879 51.40067-45.005007 7.101745-8.769734 19.98517-10.151197 28.765137-3.059686s10.181897 19.934005 3.121084 28.724205c-0.86981 1.084705-21.745257 26.841322-59.065234 52.362578-49.210795 33.666774-104.530728 51.441603-160.065556 51.441603l-1.166569 0c-7.633864-0.040932-14.602579-4.308119-18.102287-11.092639-3.489474-6.774287-2.926656-14.94027 1.463328-21.172205 29.379121-41.679261 43.418882-78.815043 50.019207-102.637612 3.735068-13.46671 5.577019-24.313755 6.487761-31.630395-53.713342-36.102243-98.401124-82.44778-129.724527-134.667096-34.638915-57.765635-52.956096-122.970706-52.956096-188.585099 0-55.483662 12.576433-109.289102 37.360909-159.91206 23.832801-48.647977 57.878199-92.302219 101.204983-129.714294 43.11189-37.227879 93.253894-66.443271 149.044548-86.827531 57.601906-21.039175 118.754684-31.702026 181.76988-31.702026 63.004963 0 124.157741 10.662851 181.759647 31.702026 55.790654 20.384259 105.932658 49.599651 149.044548 86.827531 43.326784 37.412075 77.382415 81.066317 101.204983 129.714294C983.938586 345.426217 996.515019 399.231657 996.515019 454.715319z";

    public const string Other =
        "M448 896H149.333333c-12.8 0-21.333333-8.533333-21.333333-21.333333V576c0-12.8 8.533333-21.333333 21.333333-21.333333h298.666667c12.8 0 21.333333 8.533333 21.333333 21.333333v298.666667c0 12.8-8.533333 21.333333-21.333333 21.333333zM170.666667 853.333333h256V597.333333H170.666667v256zM448 469.333333H149.333333c-12.8 0-21.333333-8.533333-21.333333-21.333333V149.333333c0-12.8 8.533333-21.333333 21.333333-21.333333h298.666667c12.8 0 21.333333 8.533333 21.333333 21.333333v298.666667c0 12.8-8.533333 21.333333-21.333333 21.333333zM170.666667 426.666667h256V170.666667H170.666667v256zM874.666667 896H576c-12.8 0-21.333333-8.533333-21.333333-21.333333V576c0-12.8 8.533333-21.333333 21.333333-21.333333h298.666667c12.8 0 21.333333 8.533333 21.333333 21.333333v298.666667c0 12.8-8.533333 21.333333-21.333333 21.333333z m-277.333334-42.666667h256V597.333333H597.333333v256zM725.333333 490.666667c-51.2 0-100.266667-19.2-136.533333-55.466667S533.333333 349.866667 533.333333 298.666667s19.2-100.266667 55.466667-136.533334S674.133333 106.666667 725.333333 106.666667s100.266667 19.2 136.533334 55.466666 55.466667 85.333333 55.466666 136.533334-19.2 100.266667-55.466666 136.533333-85.333333 55.466667-136.533334 55.466667z m0-341.333334c-40.533333 0-76.8 14.933333-106.666666 44.8-27.733333 27.733333-42.666667 66.133333-42.666667 104.533334s14.933333 76.8 42.666667 104.533333c27.733333 27.733333 66.133333 44.8 106.666666 44.8s76.8-14.933333 106.666667-44.8c27.733333-27.733333 42.666667-66.133333 42.666667-104.533333s-14.933333-76.8-42.666667-104.533334C802.133333 164.266667 765.866667 149.333333 725.333333 149.333333z";
}